<?php
class ParticipantesController extends AppController {
	var $name = 'Participantes';
	var $uses = array('Participante', 'Usuario');

	function listar(){
		$participantes = $this->Participante->find('all');
		$usuarios = $this->Usuario->find('all');

		$this->set('participantes',$participantes);
		$this->set('usuarios',$usuarios);

		$this->set('menu','participante');
		
		if(!empty($this->data)){
			$usuario = $this->Usuario->create();
	 		$dataParticipante = $this->data;

			$usuario["Usuario"]["usuario"] = $dataParticipante["Usuario"]["usuario"];
			$usuario["Usuario"]["contrasena"] = md5($dataParticipante["Usuario"]["contrasena"]);
			$usuario["Usuario"]["perfil"] = $dataParticipante["Usuario"]["perfil"];;

			if($this->Usuario->save($usuario["Usuario"])){
				$id = $this->Usuario->id;
				$participante = $this->Participante->create();
				$dataParticipante["Participante"]["usuarios_id"] = $id;
				$participante["Participante"] = $dataParticipante["Participante"];

				$this->Participante->save($participante["Participante"]);
				$this->Session->setFlash('Se registró con exito al participante','success');
				$this->redirect(array('controller'=>'Participantes','action'=>'listar'),null,true);
			}
		}
	}

	function editar(){
		$id = $this->params["url"]['id'];
		$participante = $this->Participante->findById($id);
		$this->set('participante',$participante);
		$usuario = $this->Usuario->findById($participante['Participante']['usuarios_id']);
		$this->set('usuario',$usuario);

		if(!empty($this->data)){
			$dataParticipante = $this->data["Participante"];
	    	$dataUsuario = $this->data["Usuario"];
			$id = $dataUsuario["id"];

			if($this->Participante->save($dataParticipante)){
				$usuario = $this->Usuario->findById($id);
				$usuario["Usuario"]["usuario"] = $dataUsuario["usuario"];

				if($this->Usuario->save($usuario["Usuario"])){
					$this->Session->setFlash('Los datos han sido actualizados','success');
					$this->redirect(array('controller'=>'Participantes','action'=>'listar'),null,true);
				}else{
					$this->Session->setFlash('Los datos no fueron registrados. Inténtelo de nuevo');
					$this->redirect(array('controller'=>'Participantes','action'=>'listar'),null,true);
				}
			}else{
				$this->Session->setFlash('Los datos no fueron registrados. Inténtelo de nuevo');
				$this->redirect(array('controller'=>'Participantes','action'=>'listar'),null,true);
			}
		}
	}
	function borrar(){
		$id = $this->params["url"]["id"];
		$participante = $this->Participante->findById($id);
		$id_participante=$participante['Participante']['id'];
		$id_usuario=$participante['Participante']['usuarios_id'];
		if($this->Participante->delete($id_participante)){
			$this->Usuario->delete($id_usuario);
			$this->Session->setFlash('Los datos del Participante han sido eliminados','success');
			$this->redirect(array('controller'=>'Participantes','action'=>'listar'),null,true);
		}else{
			$this->Session->setFlash('No se pudieron eliminar los datos del Participante');
		}
	}

	function contrasena(){
		$usuarios_id = $this->params["url"]['id'];
		$usuario = $this->Usuario->findById($usuarios_id);
		$this->set('usuario',$usuario);

		if(!empty($this->data)){
			$dataUsuario = $this->data;
			$usuario = $this->Usuario->findById($dataUsuario['Usuario']['id']);
			if($usuario['Usuario']['contrasena'] == md5($dataUsuario['Usuario']['contrasena'])){
				if($dataUsuario['Usuario']['nueva'] == $dataUsuario['Usuario']['repetido']){
					$dataUsuario['Usuario']['contrasena'] = md5($dataUsuario['Usuario']['nueva']);
					if($this->Usuario->save($dataUsuario['Usuario'])){
						$this->Session->setFlash('La contraseña se actualizó con éxito','success');
						$this->redirect(array('controller'=>'Participantes','action'=>'listar'),null,true);
					}else{
						$this->Session->setFlash('Los datos no fueron registrados. Inténtelo de nuevo', 'notice');
						$this->redirect(array('controller'=>'Participantes','action'=>'listar'),null,true);
					}
				}else{
					$this->Session->setFlash('Las contraseñas ingresadas no coinciden');
					$this->redirect(array('controller'=>'Participantes','action'=>'listar'),null,true);
				}
			}else{
				$this->Session->setFlash('Ingresó contraseña anterior errada');
				$this->redirect(array('controller'=>'Participantes','action'=>'listar'),null,true);
			}
		}
	}
}
?>